var $protobuf = window.protobuf;
$protobuf.roots.default=window;
// Common aliases
var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;

// Exported root namespace
var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {});

$root.HYGame = (function() {

    /**
     * Namespace HYGame.
     * @exports HYGame
     * @namespace
     */
    var HYGame = {};

    HYGame.G2C_Info = (function() {

        /**
         * Properties of a G2C_Info.
         * @memberof HYGame
         * @interface IG2C_Info
         * @property {string|null} [Info] G2C_Info Info
         */

        /**
         * Constructs a new G2C_Info.
         * @memberof HYGame
         * @classdesc Represents a G2C_Info.
         * @implements IG2C_Info
         * @constructor
         * @param {HYGame.IG2C_Info=} [properties] Properties to set
         */
        function G2C_Info(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * G2C_Info Info.
         * @member {string} Info
         * @memberof HYGame.G2C_Info
         * @instance
         */
        G2C_Info.prototype.Info = "";

        /**
         * Creates a new G2C_Info instance using the specified properties.
         * @function create
         * @memberof HYGame.G2C_Info
         * @static
         * @param {HYGame.IG2C_Info=} [properties] Properties to set
         * @returns {HYGame.G2C_Info} G2C_Info instance
         */
        G2C_Info.create = function create(properties) {
            return new G2C_Info(properties);
        };

        /**
         * Encodes the specified G2C_Info message. Does not implicitly {@link HYGame.G2C_Info.verify|verify} messages.
         * @function encode
         * @memberof HYGame.G2C_Info
         * @static
         * @param {HYGame.IG2C_Info} message G2C_Info message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        G2C_Info.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.Info != null && Object.hasOwnProperty.call(message, "Info"))
                writer.uint32(/* id 91, wireType 2 =*/730).string(message.Info);
            return writer;
        };

        /**
         * Encodes the specified G2C_Info message, length delimited. Does not implicitly {@link HYGame.G2C_Info.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.G2C_Info
         * @static
         * @param {HYGame.IG2C_Info} message G2C_Info message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        G2C_Info.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a G2C_Info message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.G2C_Info
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.G2C_Info} G2C_Info
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        G2C_Info.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.G2C_Info();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.Info = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a G2C_Info message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.G2C_Info
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.G2C_Info} G2C_Info
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        G2C_Info.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a G2C_Info message.
         * @function verify
         * @memberof HYGame.G2C_Info
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        G2C_Info.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.Info != null && message.hasOwnProperty("Info"))
                if (!$util.isString(message.Info))
                    return "Info: string expected";
            return null;
        };

        return G2C_Info;
    })();

    HYGame.M2C_Info = (function() {

        /**
         * Properties of a M2C_Info.
         * @memberof HYGame
         * @interface IM2C_Info
         * @property {number|null} [RpcId] M2C_Info RpcId
         * @property {number|Long|null} [ActorId] M2C_Info ActorId
         * @property {string|null} [Info] M2C_Info Info
         */

        /**
         * Constructs a new M2C_Info.
         * @memberof HYGame
         * @classdesc Represents a M2C_Info.
         * @implements IM2C_Info
         * @constructor
         * @param {HYGame.IM2C_Info=} [properties] Properties to set
         */
        function M2C_Info(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * M2C_Info RpcId.
         * @member {number} RpcId
         * @memberof HYGame.M2C_Info
         * @instance
         */
        M2C_Info.prototype.RpcId = 0;

        /**
         * M2C_Info ActorId.
         * @member {number|Long} ActorId
         * @memberof HYGame.M2C_Info
         * @instance
         */
        M2C_Info.prototype.ActorId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * M2C_Info Info.
         * @member {string} Info
         * @memberof HYGame.M2C_Info
         * @instance
         */
        M2C_Info.prototype.Info = "";

        /**
         * Creates a new M2C_Info instance using the specified properties.
         * @function create
         * @memberof HYGame.M2C_Info
         * @static
         * @param {HYGame.IM2C_Info=} [properties] Properties to set
         * @returns {HYGame.M2C_Info} M2C_Info instance
         */
        M2C_Info.create = function create(properties) {
            return new M2C_Info(properties);
        };

        /**
         * Encodes the specified M2C_Info message. Does not implicitly {@link HYGame.M2C_Info.verify|verify} messages.
         * @function encode
         * @memberof HYGame.M2C_Info
         * @static
         * @param {HYGame.IM2C_Info} message M2C_Info message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        M2C_Info.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.ActorId != null && Object.hasOwnProperty.call(message, "ActorId"))
                writer.uint32(/* id 92, wireType 0 =*/736).int64(message.ActorId);
            if (message.Info != null && Object.hasOwnProperty.call(message, "Info"))
                writer.uint32(/* id 93, wireType 2 =*/746).string(message.Info);
            return writer;
        };

        /**
         * Encodes the specified M2C_Info message, length delimited. Does not implicitly {@link HYGame.M2C_Info.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.M2C_Info
         * @static
         * @param {HYGame.IM2C_Info} message M2C_Info message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        M2C_Info.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a M2C_Info message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.M2C_Info
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.M2C_Info} M2C_Info
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        M2C_Info.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.M2C_Info();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.ActorId = reader.int64();
                    break;
                case 93:
                    message.Info = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a M2C_Info message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.M2C_Info
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.M2C_Info} M2C_Info
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        M2C_Info.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a M2C_Info message.
         * @function verify
         * @memberof HYGame.M2C_Info
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        M2C_Info.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.ActorId != null && message.hasOwnProperty("ActorId"))
                if (!$util.isInteger(message.ActorId) && !(message.ActorId && $util.isInteger(message.ActorId.low) && $util.isInteger(message.ActorId.high)))
                    return "ActorId: integer|Long expected";
            if (message.Info != null && message.hasOwnProperty("Info"))
                if (!$util.isString(message.Info))
                    return "Info: string expected";
            return null;
        };

        return M2C_Info;
    })();

    HYGame.C2R_Register = (function() {

        /**
         * Properties of a C2R_Register.
         * @memberof HYGame
         * @interface IC2R_Register
         * @property {number|null} [RpcId] C2R_Register RpcId
         * @property {string|null} [Account] C2R_Register Account
         * @property {string|null} [PWD] C2R_Register PWD
         */

        /**
         * Constructs a new C2R_Register.
         * @memberof HYGame
         * @classdesc Represents a C2R_Register.
         * @implements IC2R_Register
         * @constructor
         * @param {HYGame.IC2R_Register=} [properties] Properties to set
         */
        function C2R_Register(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * C2R_Register RpcId.
         * @member {number} RpcId
         * @memberof HYGame.C2R_Register
         * @instance
         */
        C2R_Register.prototype.RpcId = 0;

        /**
         * C2R_Register Account.
         * @member {string} Account
         * @memberof HYGame.C2R_Register
         * @instance
         */
        C2R_Register.prototype.Account = "";

        /**
         * C2R_Register PWD.
         * @member {string} PWD
         * @memberof HYGame.C2R_Register
         * @instance
         */
        C2R_Register.prototype.PWD = "";

        /**
         * Creates a new C2R_Register instance using the specified properties.
         * @function create
         * @memberof HYGame.C2R_Register
         * @static
         * @param {HYGame.IC2R_Register=} [properties] Properties to set
         * @returns {HYGame.C2R_Register} C2R_Register instance
         */
        C2R_Register.create = function create(properties) {
            return new C2R_Register(properties);
        };

        /**
         * Encodes the specified C2R_Register message. Does not implicitly {@link HYGame.C2R_Register.verify|verify} messages.
         * @function encode
         * @memberof HYGame.C2R_Register
         * @static
         * @param {HYGame.IC2R_Register} message C2R_Register message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2R_Register.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Account != null && Object.hasOwnProperty.call(message, "Account"))
                writer.uint32(/* id 92, wireType 2 =*/738).string(message.Account);
            if (message.PWD != null && Object.hasOwnProperty.call(message, "PWD"))
                writer.uint32(/* id 93, wireType 2 =*/746).string(message.PWD);
            return writer;
        };

        /**
         * Encodes the specified C2R_Register message, length delimited. Does not implicitly {@link HYGame.C2R_Register.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.C2R_Register
         * @static
         * @param {HYGame.IC2R_Register} message C2R_Register message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2R_Register.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a C2R_Register message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.C2R_Register
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.C2R_Register} C2R_Register
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2R_Register.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.C2R_Register();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Account = reader.string();
                    break;
                case 93:
                    message.PWD = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a C2R_Register message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.C2R_Register
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.C2R_Register} C2R_Register
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2R_Register.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a C2R_Register message.
         * @function verify
         * @memberof HYGame.C2R_Register
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        C2R_Register.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Account != null && message.hasOwnProperty("Account"))
                if (!$util.isString(message.Account))
                    return "Account: string expected";
            if (message.PWD != null && message.hasOwnProperty("PWD"))
                if (!$util.isString(message.PWD))
                    return "PWD: string expected";
            return null;
        };

        return C2R_Register;
    })();

    HYGame.R2C_Register = (function() {

        /**
         * Properties of a R2C_Register.
         * @memberof HYGame
         * @interface IR2C_Register
         * @property {number|null} [RpcId] R2C_Register RpcId
         * @property {number|null} [Error] R2C_Register Error
         */

        /**
         * Constructs a new R2C_Register.
         * @memberof HYGame
         * @classdesc Represents a R2C_Register.
         * @implements IR2C_Register
         * @constructor
         * @param {HYGame.IR2C_Register=} [properties] Properties to set
         */
        function R2C_Register(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * R2C_Register RpcId.
         * @member {number} RpcId
         * @memberof HYGame.R2C_Register
         * @instance
         */
        R2C_Register.prototype.RpcId = 0;

        /**
         * R2C_Register Error.
         * @member {number} Error
         * @memberof HYGame.R2C_Register
         * @instance
         */
        R2C_Register.prototype.Error = 0;

        /**
         * Creates a new R2C_Register instance using the specified properties.
         * @function create
         * @memberof HYGame.R2C_Register
         * @static
         * @param {HYGame.IR2C_Register=} [properties] Properties to set
         * @returns {HYGame.R2C_Register} R2C_Register instance
         */
        R2C_Register.create = function create(properties) {
            return new R2C_Register(properties);
        };

        /**
         * Encodes the specified R2C_Register message. Does not implicitly {@link HYGame.R2C_Register.verify|verify} messages.
         * @function encode
         * @memberof HYGame.R2C_Register
         * @static
         * @param {HYGame.IR2C_Register} message R2C_Register message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        R2C_Register.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Error != null && Object.hasOwnProperty.call(message, "Error"))
                writer.uint32(/* id 92, wireType 0 =*/736).int32(message.Error);
            return writer;
        };

        /**
         * Encodes the specified R2C_Register message, length delimited. Does not implicitly {@link HYGame.R2C_Register.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.R2C_Register
         * @static
         * @param {HYGame.IR2C_Register} message R2C_Register message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        R2C_Register.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a R2C_Register message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.R2C_Register
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.R2C_Register} R2C_Register
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        R2C_Register.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.R2C_Register();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Error = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a R2C_Register message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.R2C_Register
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.R2C_Register} R2C_Register
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        R2C_Register.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a R2C_Register message.
         * @function verify
         * @memberof HYGame.R2C_Register
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        R2C_Register.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Error != null && message.hasOwnProperty("Error"))
                if (!$util.isInteger(message.Error))
                    return "Error: integer expected";
            return null;
        };

        return R2C_Register;
    })();

    HYGame.C2R_Login = (function() {

        /**
         * Properties of a C2R_Login.
         * @memberof HYGame
         * @interface IC2R_Login
         * @property {number|null} [RpcId] C2R_Login RpcId
         * @property {string|null} [Account] C2R_Login Account
         * @property {string|null} [PWD] C2R_Login PWD
         */

        /**
         * Constructs a new C2R_Login.
         * @memberof HYGame
         * @classdesc Represents a C2R_Login.
         * @implements IC2R_Login
         * @constructor
         * @param {HYGame.IC2R_Login=} [properties] Properties to set
         */
        function C2R_Login(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * C2R_Login RpcId.
         * @member {number} RpcId
         * @memberof HYGame.C2R_Login
         * @instance
         */
        C2R_Login.prototype.RpcId = 0;

        /**
         * C2R_Login Account.
         * @member {string} Account
         * @memberof HYGame.C2R_Login
         * @instance
         */
        C2R_Login.prototype.Account = "";

        /**
         * C2R_Login PWD.
         * @member {string} PWD
         * @memberof HYGame.C2R_Login
         * @instance
         */
        C2R_Login.prototype.PWD = "";

        /**
         * Creates a new C2R_Login instance using the specified properties.
         * @function create
         * @memberof HYGame.C2R_Login
         * @static
         * @param {HYGame.IC2R_Login=} [properties] Properties to set
         * @returns {HYGame.C2R_Login} C2R_Login instance
         */
        C2R_Login.create = function create(properties) {
            return new C2R_Login(properties);
        };

        /**
         * Encodes the specified C2R_Login message. Does not implicitly {@link HYGame.C2R_Login.verify|verify} messages.
         * @function encode
         * @memberof HYGame.C2R_Login
         * @static
         * @param {HYGame.IC2R_Login} message C2R_Login message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2R_Login.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Account != null && Object.hasOwnProperty.call(message, "Account"))
                writer.uint32(/* id 92, wireType 2 =*/738).string(message.Account);
            if (message.PWD != null && Object.hasOwnProperty.call(message, "PWD"))
                writer.uint32(/* id 93, wireType 2 =*/746).string(message.PWD);
            return writer;
        };

        /**
         * Encodes the specified C2R_Login message, length delimited. Does not implicitly {@link HYGame.C2R_Login.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.C2R_Login
         * @static
         * @param {HYGame.IC2R_Login} message C2R_Login message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2R_Login.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a C2R_Login message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.C2R_Login
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.C2R_Login} C2R_Login
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2R_Login.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.C2R_Login();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Account = reader.string();
                    break;
                case 93:
                    message.PWD = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a C2R_Login message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.C2R_Login
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.C2R_Login} C2R_Login
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2R_Login.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a C2R_Login message.
         * @function verify
         * @memberof HYGame.C2R_Login
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        C2R_Login.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Account != null && message.hasOwnProperty("Account"))
                if (!$util.isString(message.Account))
                    return "Account: string expected";
            if (message.PWD != null && message.hasOwnProperty("PWD"))
                if (!$util.isString(message.PWD))
                    return "PWD: string expected";
            return null;
        };

        return C2R_Login;
    })();

    HYGame.R2C_Login = (function() {

        /**
         * Properties of a R2C_Login.
         * @memberof HYGame
         * @interface IR2C_Login
         * @property {number|null} [RpcId] R2C_Login RpcId
         * @property {number|null} [Error] R2C_Login Error
         * @property {string|null} [Address] R2C_Login Address
         * @property {number|Long|null} [Key] R2C_Login Key
         * @property {number|Long|null} [GateId] R2C_Login GateId
         */

        /**
         * Constructs a new R2C_Login.
         * @memberof HYGame
         * @classdesc Represents a R2C_Login.
         * @implements IR2C_Login
         * @constructor
         * @param {HYGame.IR2C_Login=} [properties] Properties to set
         */
        function R2C_Login(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * R2C_Login RpcId.
         * @member {number} RpcId
         * @memberof HYGame.R2C_Login
         * @instance
         */
        R2C_Login.prototype.RpcId = 0;

        /**
         * R2C_Login Error.
         * @member {number} Error
         * @memberof HYGame.R2C_Login
         * @instance
         */
        R2C_Login.prototype.Error = 0;

        /**
         * R2C_Login Address.
         * @member {string} Address
         * @memberof HYGame.R2C_Login
         * @instance
         */
        R2C_Login.prototype.Address = "";

        /**
         * R2C_Login Key.
         * @member {number|Long} Key
         * @memberof HYGame.R2C_Login
         * @instance
         */
        R2C_Login.prototype.Key = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * R2C_Login GateId.
         * @member {number|Long} GateId
         * @memberof HYGame.R2C_Login
         * @instance
         */
        R2C_Login.prototype.GateId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * Creates a new R2C_Login instance using the specified properties.
         * @function create
         * @memberof HYGame.R2C_Login
         * @static
         * @param {HYGame.IR2C_Login=} [properties] Properties to set
         * @returns {HYGame.R2C_Login} R2C_Login instance
         */
        R2C_Login.create = function create(properties) {
            return new R2C_Login(properties);
        };

        /**
         * Encodes the specified R2C_Login message. Does not implicitly {@link HYGame.R2C_Login.verify|verify} messages.
         * @function encode
         * @memberof HYGame.R2C_Login
         * @static
         * @param {HYGame.IR2C_Login} message R2C_Login message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        R2C_Login.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Error != null && Object.hasOwnProperty.call(message, "Error"))
                writer.uint32(/* id 92, wireType 0 =*/736).int32(message.Error);
            if (message.Address != null && Object.hasOwnProperty.call(message, "Address"))
                writer.uint32(/* id 93, wireType 2 =*/746).string(message.Address);
            if (message.Key != null && Object.hasOwnProperty.call(message, "Key"))
                writer.uint32(/* id 94, wireType 0 =*/752).int64(message.Key);
            if (message.GateId != null && Object.hasOwnProperty.call(message, "GateId"))
                writer.uint32(/* id 95, wireType 0 =*/760).int64(message.GateId);
            return writer;
        };

        /**
         * Encodes the specified R2C_Login message, length delimited. Does not implicitly {@link HYGame.R2C_Login.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.R2C_Login
         * @static
         * @param {HYGame.IR2C_Login} message R2C_Login message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        R2C_Login.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a R2C_Login message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.R2C_Login
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.R2C_Login} R2C_Login
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        R2C_Login.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.R2C_Login();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Error = reader.int32();
                    break;
                case 93:
                    message.Address = reader.string();
                    break;
                case 94:
                    message.Key = reader.int64();
                    break;
                case 95:
                    message.GateId = reader.int64();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a R2C_Login message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.R2C_Login
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.R2C_Login} R2C_Login
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        R2C_Login.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a R2C_Login message.
         * @function verify
         * @memberof HYGame.R2C_Login
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        R2C_Login.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Error != null && message.hasOwnProperty("Error"))
                if (!$util.isInteger(message.Error))
                    return "Error: integer expected";
            if (message.Address != null && message.hasOwnProperty("Address"))
                if (!$util.isString(message.Address))
                    return "Address: string expected";
            if (message.Key != null && message.hasOwnProperty("Key"))
                if (!$util.isInteger(message.Key) && !(message.Key && $util.isInteger(message.Key.low) && $util.isInteger(message.Key.high)))
                    return "Key: integer|Long expected";
            if (message.GateId != null && message.hasOwnProperty("GateId"))
                if (!$util.isInteger(message.GateId) && !(message.GateId && $util.isInteger(message.GateId.low) && $util.isInteger(message.GateId.high)))
                    return "GateId: integer|Long expected";
            return null;
        };

        return R2C_Login;
    })();

    HYGame.C2G_LoginGate = (function() {

        /**
         * Properties of a C2G_LoginGate.
         * @memberof HYGame
         * @interface IC2G_LoginGate
         * @property {number|null} [RpcId] C2G_LoginGate RpcId
         * @property {number|Long|null} [Key] C2G_LoginGate Key
         * @property {number|Long|null} [GateId] C2G_LoginGate GateId
         */

        /**
         * Constructs a new C2G_LoginGate.
         * @memberof HYGame
         * @classdesc Represents a C2G_LoginGate.
         * @implements IC2G_LoginGate
         * @constructor
         * @param {HYGame.IC2G_LoginGate=} [properties] Properties to set
         */
        function C2G_LoginGate(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * C2G_LoginGate RpcId.
         * @member {number} RpcId
         * @memberof HYGame.C2G_LoginGate
         * @instance
         */
        C2G_LoginGate.prototype.RpcId = 0;

        /**
         * C2G_LoginGate Key.
         * @member {number|Long} Key
         * @memberof HYGame.C2G_LoginGate
         * @instance
         */
        C2G_LoginGate.prototype.Key = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * C2G_LoginGate GateId.
         * @member {number|Long} GateId
         * @memberof HYGame.C2G_LoginGate
         * @instance
         */
        C2G_LoginGate.prototype.GateId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * Creates a new C2G_LoginGate instance using the specified properties.
         * @function create
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {HYGame.IC2G_LoginGate=} [properties] Properties to set
         * @returns {HYGame.C2G_LoginGate} C2G_LoginGate instance
         */
        C2G_LoginGate.create = function create(properties) {
            return new C2G_LoginGate(properties);
        };

        /**
         * Encodes the specified C2G_LoginGate message. Does not implicitly {@link HYGame.C2G_LoginGate.verify|verify} messages.
         * @function encode
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {HYGame.IC2G_LoginGate} message C2G_LoginGate message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2G_LoginGate.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Key != null && Object.hasOwnProperty.call(message, "Key"))
                writer.uint32(/* id 92, wireType 0 =*/736).int64(message.Key);
            if (message.GateId != null && Object.hasOwnProperty.call(message, "GateId"))
                writer.uint32(/* id 93, wireType 0 =*/744).int64(message.GateId);
            return writer;
        };

        /**
         * Encodes the specified C2G_LoginGate message, length delimited. Does not implicitly {@link HYGame.C2G_LoginGate.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {HYGame.IC2G_LoginGate} message C2G_LoginGate message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        C2G_LoginGate.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a C2G_LoginGate message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.C2G_LoginGate} C2G_LoginGate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2G_LoginGate.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.C2G_LoginGate();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Key = reader.int64();
                    break;
                case 93:
                    message.GateId = reader.int64();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a C2G_LoginGate message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.C2G_LoginGate} C2G_LoginGate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        C2G_LoginGate.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a C2G_LoginGate message.
         * @function verify
         * @memberof HYGame.C2G_LoginGate
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        C2G_LoginGate.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Key != null && message.hasOwnProperty("Key"))
                if (!$util.isInteger(message.Key) && !(message.Key && $util.isInteger(message.Key.low) && $util.isInteger(message.Key.high)))
                    return "Key: integer|Long expected";
            if (message.GateId != null && message.hasOwnProperty("GateId"))
                if (!$util.isInteger(message.GateId) && !(message.GateId && $util.isInteger(message.GateId.low) && $util.isInteger(message.GateId.high)))
                    return "GateId: integer|Long expected";
            return null;
        };

        return C2G_LoginGate;
    })();

    HYGame.G2C_LoginGate = (function() {

        /**
         * Properties of a G2C_LoginGate.
         * @memberof HYGame
         * @interface IG2C_LoginGate
         * @property {number|null} [RpcId] G2C_LoginGate RpcId
         * @property {number|null} [Error] G2C_LoginGate Error
         * @property {number|Long|null} [PlayerId] G2C_LoginGate PlayerId
         */

        /**
         * Constructs a new G2C_LoginGate.
         * @memberof HYGame
         * @classdesc Represents a G2C_LoginGate.
         * @implements IG2C_LoginGate
         * @constructor
         * @param {HYGame.IG2C_LoginGate=} [properties] Properties to set
         */
        function G2C_LoginGate(properties) {
            if (properties)
                for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                    if (properties[keys[i]] != null)
                        this[keys[i]] = properties[keys[i]];
        }

        /**
         * G2C_LoginGate RpcId.
         * @member {number} RpcId
         * @memberof HYGame.G2C_LoginGate
         * @instance
         */
        G2C_LoginGate.prototype.RpcId = 0;

        /**
         * G2C_LoginGate Error.
         * @member {number} Error
         * @memberof HYGame.G2C_LoginGate
         * @instance
         */
        G2C_LoginGate.prototype.Error = 0;

        /**
         * G2C_LoginGate PlayerId.
         * @member {number|Long} PlayerId
         * @memberof HYGame.G2C_LoginGate
         * @instance
         */
        G2C_LoginGate.prototype.PlayerId = $util.Long ? $util.Long.fromBits(0,0,false) : 0;

        /**
         * Creates a new G2C_LoginGate instance using the specified properties.
         * @function create
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {HYGame.IG2C_LoginGate=} [properties] Properties to set
         * @returns {HYGame.G2C_LoginGate} G2C_LoginGate instance
         */
        G2C_LoginGate.create = function create(properties) {
            return new G2C_LoginGate(properties);
        };

        /**
         * Encodes the specified G2C_LoginGate message. Does not implicitly {@link HYGame.G2C_LoginGate.verify|verify} messages.
         * @function encode
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {HYGame.IG2C_LoginGate} message G2C_LoginGate message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        G2C_LoginGate.encode = function encode(message, writer) {
            if (!writer)
                writer = $Writer.create();
            if (message.RpcId != null && Object.hasOwnProperty.call(message, "RpcId"))
                writer.uint32(/* id 91, wireType 0 =*/728).int32(message.RpcId);
            if (message.Error != null && Object.hasOwnProperty.call(message, "Error"))
                writer.uint32(/* id 92, wireType 0 =*/736).int32(message.Error);
            if (message.PlayerId != null && Object.hasOwnProperty.call(message, "PlayerId"))
                writer.uint32(/* id 93, wireType 0 =*/744).int64(message.PlayerId);
            return writer;
        };

        /**
         * Encodes the specified G2C_LoginGate message, length delimited. Does not implicitly {@link HYGame.G2C_LoginGate.verify|verify} messages.
         * @function encodeDelimited
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {HYGame.IG2C_LoginGate} message G2C_LoginGate message or plain object to encode
         * @param {$protobuf.Writer} [writer] Writer to encode to
         * @returns {$protobuf.Writer} Writer
         */
        G2C_LoginGate.encodeDelimited = function encodeDelimited(message, writer) {
            return this.encode(message, writer).ldelim();
        };

        /**
         * Decodes a G2C_LoginGate message from the specified reader or buffer.
         * @function decode
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @param {number} [length] Message length if known beforehand
         * @returns {HYGame.G2C_LoginGate} G2C_LoginGate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        G2C_LoginGate.decode = function decode(reader, length) {
            if (!(reader instanceof $Reader))
                reader = $Reader.create(reader);
            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.HYGame.G2C_LoginGate();
            while (reader.pos < end) {
                var tag = reader.uint32();
                switch (tag >>> 3) {
                case 91:
                    message.RpcId = reader.int32();
                    break;
                case 92:
                    message.Error = reader.int32();
                    break;
                case 93:
                    message.PlayerId = reader.int64();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
                }
            }
            return message;
        };

        /**
         * Decodes a G2C_LoginGate message from the specified reader or buffer, length delimited.
         * @function decodeDelimited
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
         * @returns {HYGame.G2C_LoginGate} G2C_LoginGate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        G2C_LoginGate.decodeDelimited = function decodeDelimited(reader) {
            if (!(reader instanceof $Reader))
                reader = new $Reader(reader);
            return this.decode(reader, reader.uint32());
        };

        /**
         * Verifies a G2C_LoginGate message.
         * @function verify
         * @memberof HYGame.G2C_LoginGate
         * @static
         * @param {Object.<string,*>} message Plain object to verify
         * @returns {string|null} `null` if valid, otherwise the reason why it is not
         */
        G2C_LoginGate.verify = function verify(message) {
            if (typeof message !== "object" || message === null)
                return "object expected";
            if (message.RpcId != null && message.hasOwnProperty("RpcId"))
                if (!$util.isInteger(message.RpcId))
                    return "RpcId: integer expected";
            if (message.Error != null && message.hasOwnProperty("Error"))
                if (!$util.isInteger(message.Error))
                    return "Error: integer expected";
            if (message.PlayerId != null && message.hasOwnProperty("PlayerId"))
                if (!$util.isInteger(message.PlayerId) && !(message.PlayerId && $util.isInteger(message.PlayerId.low) && $util.isInteger(message.PlayerId.high)))
                    return "PlayerId: integer|Long expected";
            return null;
        };

        return G2C_LoginGate;
    })();

    return HYGame;
})();